Cloud KMS
キーリング
アクセス制御・鍵のグループ化
GMEK: Google Cloud が管理、デフォルトの暗号化
CMEK (顧客管理の暗号鍵): ユーザが鍵を Google Cloud 上で管理、KMS 上で作って指定する
CSEK (顧客指定の暗号鍵): ユーザが鍵を管理、作成して指定する
! KMS の選択肢で語られるだけで KMS の機能ではない 都度鍵を指定
Compute Engine では起動時に指定してメモリ上で保管されて再起動で揮発する
Compute Engine & Cloud Storage など一部の対応サービスが限られる
HSM(Hardware Security Module): ハードウェア鍵
EKM(External Key Manager): 外部のキーマネージャを Google Cloud で使う
EKM プロバイダにおうじて FIPS 140-2~3
Google Cloud から EKM プロバイダを読む、レイテンシがデメリット
ローテーションなどは EKM プロバイダ側
アクセス理由と許可の記録と管理
事前に定義された属性、例えば国籍や地理的ロケーションなどに基づいて制限できる
どちらも CMEK 顧客管理といえる
というか KMS = CMEK の運用ツールやね
対応プロダクトは HSM > EKM
DEK・KEK
データ ← DEK で暗号化
DEK ← KEK で暗号化
暗号化済みの (DEK + データ) を保管
DEK はローカルに作る、データの近くに保管する、DEK は都度作る(ローテーション不要)
KEK はネットワークの外に出さない
非対称鍵はローテーションしない
開発者が手元で使う鍵も毎日更新してダウンロードする仕組みについて書いてある
Cloud Build からデプロイ時に参照するやつ
location
思考停止 global